By replacing special network element devices in communication networks with industrial standard-based x86 servers, storage devices and switching devices, the network function virtualization (NFV) technology can help operators to save cost and gain more network capabilities with higher flexibility, which has led to expanding applications of the NFV technology.
NFV systems offer flexible network capabilities, mainly in that they allow uniting multiple virtual network function (vNF) instances serving a same function into a vNF cluster, thus creating a logical vNF with advanced performance. In a vNF cluster, whether a load balancing is realized among multiple vNF instances providing the same function is essential for the performance of the NFV system.
In an existing load balancing method, a specialized load balancing device such as a load balancer act as a proxy to process the load balancing. Based on an specific allocation algorithm such as a randomized algorithm, a polling method or a minimum connections method, the load balancing device selects a server from a server cluster, send the server's IP address and port information to a client, to establish a connection between the server and the client, thereby performing a load balancing process for a client cluster consists of clients.
Since said load balancing method relies on a specialized load balancing device acting as a proxy to balance the load, it typically involves modifying the destination MAC address and destination IP address of a data flow, which is principally appropriate for balancing load among servers in a server cluster. However, service function execution entities in a network service system having network services at layer 2 to layer 7 (e.g. network service such as firewall, load balancer, application acceleration, network encryption/decryption, SSL gateway and VPN gateway) will inevitably include service function execution entities in transparent mode, such as a vNF in a NFV system, and service function execution entities in transparent mode do not allow modifying the destination MAC address and destination IP address of a data flow, thus, the existing load balancing method is inappropriate for balancing load among service function execution entities in a network service system.